import Vue from 'vue'
import Router from 'vue-router'

Vue.use(Router)

const router = new Router({
  routes: [
    // 首先是登录页的路由
    {
      path: '/signin',
      name: 'Signin',
      meta: {
        title: '登录'
      },
      component: () => import(/* webpackChunkName: "about" */ '@/views/signin')
    }
  ]
})

// 当一个导航触发时，全局的 before 钩子按照创建顺序调用。钩子是异步解析执行，此时导航在所有钩子 resolve 完之前一直处于等待中。
router.beforeEach((to, from, next) => {
  // 自动化修改页面标签的 title
  document.title = to.meta.title
  // 未登录去登录
  if (to.path !== '/signin' && !localStorage.token) {
    next('/signin')
    return
  }
  // 已登录去 '/' 去notes页面
  if (to.path === '/' && localStorage.token) {
    next('/notes')
    return
  }
  // 如果已经登录，并且要去登录页，就不让TA去登录页，重定向到首页【目前有点问题】
  if (to.path === '/signin' && localStorage.token) {
    next('/notes')
    return
  }
  next()
})

export default router
